home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 12 / Cream of the Crop 12 (Part II) / Cream of the Crop 12 (Part II).iso / OS2 / SQTOOL06.ZIP / SqTool.Prn < prev    next >
Encoding:
Text File  |  1996-03-28  |  87.3 KB  |  2,564 lines

  1.  
  2.  
  3.                                Le 28 mars 1996 à 17:24.
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                         SqTool
  10.  
  11.  
  12.  
  13.                                   (c) Raphaël Vanney
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                    The table of contents is at the end of the file.
  24.  
  25.                           There is also an index down there.
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.      ----------------------------------------------------------------------
  66.      1      Preliminary stuff
  67.      ----------------------------------------------------------------------
  68.  
  69.       1.1   The disclaimer
  70.        ---------------------------------------------------------------------
  71.  
  72.             I take no responsibility from whatever results from your use of
  73.             SqTool. If  you are  not prepared  to handle  the consequences,
  74.             please don't use SqTool.
  75.  
  76.       1.2   What's SqTool ?
  77.        ---------------------------------------------------------------------
  78.  
  79.             SqTool is meant to be a general-purpose utility for those of us
  80.             who use  Fidonet-style message  bases. As  of now,  Squish  and
  81.             *.MSG bases are supported. If you run a BBS that uses Files.BBS
  82.             files, SqTool can also provide file-oriented functions.
  83.  
  84.             Here are a couple things you can do with SqTool :
  85.  
  86.             . Filter messages to you, and copy them to a specified message
  87.               area ;
  88.  
  89.             . Filter messages of interest, based on a keyword search, and
  90.               copy them to a specified area ;
  91.  
  92.             . Remove messages you don't want on your system (for instance,
  93.               messages which contain adult content on a children-dedicated
  94.               BBS), or move them to a specified area ;
  95.  
  96.             . Select messages on their content, and generate automatic
  97.               replies from a disk file ;
  98.  
  99.             . Trigger execution of external commands based on message
  100.               content (ie when a specific subject is found, run a .CMD or
  101.               .EXE file and return its output to the message sender) ;
  102.  
  103.             . Set up a mail-based file-request system ;
  104.  
  105.             . Automatically announce new files on your system ;
  106.  
  107.             . Automatically answer filefind requests ;
  108.  
  109.             . Build a listing of all files on your BBS ;
  110.  
  111.             . Import and export SOUP packets ;
  112.  
  113.             . etc...
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.                    _________________________________________________
  121.                                         page 2
  122.                    _________________________________________________
  123.  
  124.  
  125.  
  126.  
  127.       1.3   SqTool & SqFilter
  128.        ---------------------------------------------------------------------
  129.  
  130.             To those  of you who used SqFilter : the source of SqFilter has
  131.             been lost in a disk crash (always back up, they say...) Since I
  132.             wanted to  add features to SqFilter, I started rewriting it, et
  133.             voilà, it's now called SqTool.
  134.  
  135.             Some of  the features  of SqFilter  have  been  left  out  from
  136.             SqTool. If  you need  some of  them, or  if you  have a problem
  137.             using SqTool  replacement functions, please drop me a note (see
  138.             "Support").
  139.  
  140.             On the  other hand,  SqTool is  now a  32-bit application (this
  141.             does not mean a lot, except that it knows no memory constraints
  142.             and runs  a bit  faster than  SqFilter), and, tada!, it handles
  143.             HPFS file names.
  144.  
  145.             You will  also note  that the  filters capabilities  have  been
  146.             enhanced, in ways I quite like.
  147.  
  148.             SqFilter configuration  files won't  directly plug into SqTool,
  149.             but the  areas  and  message  filters  definitions  should  not
  150.             require too much work.
  151.  
  152.       1.4   Support
  153.        ---------------------------------------------------------------------
  154.  
  155.             SqTool is freeware, so don't expect professional-level, 24-hour
  156.             support. Anyways,  I  usually  answer  requests  for  help  and
  157.             welcome enhancement  requests. Of  course, general  comments or
  158.             congratulations are welcome as well.
  159.  
  160.             Please feel  free to  drop me  a note  at one  of the following
  161.             addresses :
  162.  
  163.             . Internet      rvanney@ibm.net
  164.  
  165.             . Fidonet       2:320/222.7
  166.  
  167.             . Francomedia   101:173/209.7
  168.  
  169.             Thanks to those who already did.
  170.  
  171.             Those of  you who  are willing  to translate SqTool messages to
  172.             another language  are welcome  (SqTool is  designed  to  easily
  173.             support other languages).
  174.  
  175.             I usually  upload new versions of SqTool to the Hobbes ftp site
  176.             (hobbes.nmsu.edu).
  177.  
  178.  
  179.  
  180.  
  181.  
  182.                    _________________________________________________
  183.                                         page 3
  184.                    _________________________________________________
  185.  
  186.  
  187.  
  188.  
  189.       1.5   Credits
  190.        ---------------------------------------------------------------------
  191.  
  192.             Thanks to  David Ahia and Roland Gifford, who both tried to run
  193.             SqTool despite  its numerous  bugs, and  provided a  number  of
  194.             enhancement suggestions.
  195.  
  196.             This documentation  was typed  in Microsoft  Word 5.5, which is
  197.             probably one of its last OS/2 applications.
  198.  
  199.             SqTool  is   written  in   SpeedPascal,  and   compiled   using
  200.             SpeedPascal/2 version 1.5 beta V.
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.                    _________________________________________________
  245.                                         page 4
  246.                    _________________________________________________
  247.  
  248.  
  249.  
  250.  
  251.      ----------------------------------------------------------------------
  252.      2      Configuring SqTool
  253.      ----------------------------------------------------------------------
  254.  
  255.             SqTool operation  is  based  on  a  configuration  file,  which
  256.             contains several main parts :
  257.  
  258.             . Miscellaneous : various configuration options
  259.  
  260.             . Areas configuration : where you tell SqTool where and what
  261.               your message and file areas are.
  262.  
  263.             . Filters configuration : where you tell SqTool what filters to
  264.               apply.
  265.  
  266.             . FileFind configuration : if you want SqTool to act as an
  267.               AllFix filefind request processor, you must provide SqTool
  268.               some extra information.
  269.  
  270.             . SOUP configuration : if you want SqTool to import/export SOUP
  271.               packets, you must provide a few details.
  272.  
  273.             The configuration  file is named SqTool.Cfg, and must be stored
  274.             in  the   same  directory   that  holds   the  executable  file
  275.             (SqTool.Exe).
  276.  
  277.             This is  a text  file, which can be created and edited with any
  278.             text editor.  Empty lines  and lines  beginning with a ";" sign
  279.             are ignored (use a ";" to insert a comment in the file).
  280.  
  281.       2.1   Miscellaneous
  282.        ---------------------------------------------------------------------
  283.  
  284.  
  285.            AreasWrittenTo <filename>
  286.  
  287.             The AreasWrittenTo  keyword lets you define a file where SqTool
  288.             will put  a list  of all  the message  areas where  it wrote  a
  289.             message. The  typical use  for this is to have a message tosser
  290.             process these areas after SqTool has done its job.
  291.  
  292.             If the  file already  exists, SqTool  appends data to it rather
  293.             than overwriting it.
  294.  
  295.             Example :
  296.  
  297.                 AreasWrittenTo c:\BBS\EchoToss.Log
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.                    _________________________________________________
  307.                                         page 5
  308.                    _________________________________________________
  309.  
  310.  
  311.  
  312.  
  313.            Debug
  314.  
  315.             Tells SqTool  to generate  much more verbose information in the
  316.             log file. If you've got a misbehaviour (aka bug) to report, the
  317.             debug log file often helps solve the problem.
  318.  
  319.  
  320.            English
  321.  
  322.             Tells SqTool to use English messages (default when country code
  323.             as specified in CONFIG.SYS is 1 (U.S.) or 44 (U.K.)).
  324.  
  325.  
  326.            FidoUserNo <no>
  327.  
  328.             FidoUserNo tells  SqTool which  user number  to  use  to  store
  329.             lastread information for Fido *.MSG message bases. See comments
  330.             for "SquishUserNo".
  331.  
  332.  
  333.            French
  334.  
  335.             Tells SqTool  to use French messages (default when country code
  336.             as specified in CONFIG.SYS is 33 or unknown).
  337.  
  338.  
  339.            Include <filename>
  340.  
  341.             The  Include   keyword  lets   you  include   files   in   your
  342.             configuration file.  This might  be handy  if you  use  several
  343.             configuration  files   and  don't   want  to  duplicate  common
  344.             information such  as areas  definition. You would then move the
  345.             areas definition  to another  file and  'Include' this  file in
  346.             your main  configuration files.  The Include keyword may appear
  347.             anywhere in  the configuration  file, except  within a template
  348.             text and  filter definitions  (where it  would be considered as
  349.             part of  the text/filter).  Nested include  files are  allowed,
  350.             without any reachable limit.
  351.  
  352.  
  353.            LockTimeOut <delay>
  354.  
  355.             Sets the  maximum time  SqTool will try to lock a message base.
  356.             If a message base is kept locked by another process during more
  357.             than this  delay, SqTool  will fail to lock it and halt with an
  358.             error message. The delay is specified in thousands of a second.
  359.             The default value is 10000 (ten seconds).
  360.  
  361.  
  362.            Example :
  363.  
  364.                 LockTimeOut 60000
  365.  
  366.  
  367.  
  368.                    _________________________________________________
  369.                                         page 6
  370.                    _________________________________________________
  371.  
  372.  
  373.  
  374.  
  375.             Will try to lock a message base for up to one minute.
  376.  
  377.  
  378.            LogSizeLimit <bytes>
  379.  
  380.             Defines the  maximum size of the log file : it's such a PITA to
  381.             have to  shrink these  log files periodically. SqTool will make
  382.             sure that the log file does not grow over this size by removing
  383.             older statements.  Don't be surprised if one day the first line
  384.             of your  log file looks strange, SqTool does not check where it
  385.             cuts the log file.
  386.  
  387.             The default value is 256kb. It can be set to anything between 1
  388.             and 2^31 bytes.
  389.  
  390.             Warning : the  log file shrinking is quite a straight process :
  391.             the program  just moves the last LogSizeLimit bytes of the file
  392.             to the beginning of the file, then truncates the file. This may
  393.             be a lengthy process if your log file is 10Mb in size !
  394.  
  395.             Though you  can't disable this feature, setting this value high
  396.             enough will prevent SqTool from shrinking the log file.
  397.  
  398.  
  399.            MainAddress <address>
  400.  
  401.             Defines your  main fidonet-like  address, or  aka. This address
  402.             will be  used when  writing to  message areas where no specific
  403.             aka has been specified.
  404.  
  405.  
  406.            MaxAnnPerMsg <number>
  407.  
  408.             Tells SqTool  how many  files, at  most, may  be announced in a
  409.             single file  announcement  message  (this  relates  to  "Action
  410.             Announce" in  file filters).  If  more  new  files  are  to  be
  411.             announced, they  will be  separated over  several messages. The
  412.             default value is 100,000.
  413.  
  414.  
  415.            ReScan
  416.  
  417.             Tells SqTool  to ignore  the lastread  information and entirely
  418.             rescan all message areas.
  419.  
  420.  
  421.            SquishUserNo <no>
  422.  
  423.             SquishUserNo tells  SqTool which  lastread record it should use
  424.             in the  Squish *.SQL  files. You should make sure that, if your
  425.             reader uses this feature, it is set to use a different user no.
  426.             The same  applies if  you run  a BBS  that  uses  the  lastread
  427.             information stored in Squish files.
  428.  
  429.  
  430.                    _________________________________________________
  431.                                         page 7
  432.                    _________________________________________________
  433.  
  434.  
  435.  
  436.  
  437.             The default  value for  SquishUserNo is 0. You may use anything
  438.             between 0 and 64k.
  439.  
  440.  
  441.            UpperCaseFNames
  442.  
  443.             If this  keyword is  specified,  file  names  written  by  file
  444.             filters will  be uppercased. The default is to write file names
  445.             exactly as they appear in the FILES.BBS file.
  446.  
  447.       2.2   Areas configuration
  448.        ---------------------------------------------------------------------
  449.  
  450.             Areas may be defined either "manually" or using existing, other
  451.             software's configuration files.
  452.  
  453.        2.2.1  Manual message areas configuration
  454.  
  455.             Manual message areas definition uses the same syntax as GoldEd,
  456.             the mail reader I use.
  457.  
  458.  
  459.            Area <tag> "<description>" <base type><msg type> <base init str>
  460.            <attr>[ <atr>...]
  461.  
  462.             where :
  463.  
  464.             <tag>           short name  for the  message area ; this is the
  465.                             name you  will use  when referring to this area
  466.                             in SqTool configuration.
  467.  
  468.             <description>   is an  optional text  describing the content of
  469.                             the area.
  470.  
  471.             <base type>     may be  either "M"  (without  the  quotes)  for
  472.                             Squish areas, or "F" for *.MSG areas.
  473.  
  474.             <msg type>      May be  "E" (without  the quotes) for Echomail,
  475.                             "N"for NetMail, "L"for local areas. Defaults to
  476.                             Echomail.
  477.  
  478.                             Note that there is no space between <base type>
  479.                             and <msg type>.
  480.  
  481.             <base init str> For Squish  bases, path  and file  name without
  482.                             extension. For *.MSG bases, directory where the
  483.                             messages are stored.
  484.  
  485.             <attr>          Default attributes  of messages entered in this
  486.                             area. May be none, one or several of :
  487.  
  488.             . ARQ           :
  489.  
  490.  
  491.  
  492.                    _________________________________________________
  493.                                         page 8
  494.                    _________________________________________________
  495.  
  496.  
  497.  
  498.  
  499.             . ATT           : a file is attached
  500.  
  501.             . CFM           :
  502.  
  503.             . CRA           : crash mail
  504.  
  505.             . FRQ           : file request
  506.  
  507.             . HLD           : hold message
  508.  
  509.             . LOC           : local (always set)
  510.  
  511.             . PVT           : private message
  512.  
  513.             . SNT           : sent
  514.  
  515.             . URQ           :
  516.  
  517.             Example :
  518.  
  519.                 Area OS2 "OS/2 main echo" ME e:\Msgs\OS2
  520.  
  521.  
  522.            AreaDef <tag>  "<description>" <group>  <msg type>  <base  type>
  523.            <base init str> <aka> (<attr>) ["<origin>"]
  524.  
  525.             AreaDef has  the same purpose than the Area keyword, but allows
  526.             a more detailed configuration :
  527.  
  528.             <tag>           See the "Area" keyword.
  529.  
  530.             <description>   See the "Area" keyword.
  531.  
  532.             <group>         Unused by  SqTool  (but  must  be  present ;  I
  533.                             suggest you use "*" (without the quotes)).
  534.  
  535.             <msg type>      May be  either "Net"  (without the  quotes) for
  536.                             NetMail messages, "Echo" for echomail messages,
  537.                             "Local" for  local mail  messages or "News" for
  538.                             newsgroups.
  539.  
  540.             <base type>     May be either "Squish" (without the quotes) for
  541.                             Squish  message  bases,  or  "FTS1"  for  *.MSG
  542.                             bases.
  543.  
  544.             <base init str> See the "Area" keyword.
  545.  
  546.             <aka>           Fidonet-style address (aka) to use when posting
  547.                             messages to  this area. Use "." (a dot, without
  548.                             the quotes) to use your main address.
  549.  
  550.  
  551.  
  552.  
  553.  
  554.                    _________________________________________________
  555.                                         page 9
  556.                    _________________________________________________
  557.  
  558.  
  559.  
  560.  
  561.             <attr>          See the  "Area" keyword. Note that the brackets
  562.                             must  be   there  even   if  no   attribute  is
  563.                             specified.
  564.  
  565.             <origin>        Optional  origin-line   to  use   when  writing
  566.                             messages in this area.
  567.  
  568.             Examples :
  569.  
  570.                 AreaDef comp.os.os2.setup "UseNet : comp.os.os2.setup" *
  571.                 Echo Squish e:\Msgs\comp.os.os2.setup 999:320/222.7 ()
  572.  
  573.                 AreaDef MsgsToMe "Messages to or about me" * Echo Squish
  574.                 e:\Msgs\MsgsToMe 2:320/222.7 ()
  575.  
  576.                 AreaDef NetMail "NetMail" * Net Fido e:\Msgs\NetMail
  577.                 2:320/222.7 (Pvt)
  578.  
  579.             (Note that  the definition  should NOT  be split  over  several
  580.             lines).
  581.  
  582.        2.2.2  Automatic areas configuration
  583.  
  584.             SqTool can  use several  other-software configuration  files to
  585.             gather information relative to your areas.
  586.  
  587.  
  588.            LoraPath <path>
  589.  
  590.             Tells SqTool  where LoraBBS  is installed.  SqTool will use the
  591.             files CONFIG.DAT,  SYSMSG.DAT and SYSFILE.DAT in this directory
  592.             to configure the message and file areas.
  593.  
  594.             See 4.2.3 for more details about Lora configuration files.
  595.  
  596.  
  597.            AreasBBS <file name>
  598.  
  599.             Tells SqTool  the name  of a  standard AREAS.BBS  file where to
  600.             find the  message areas definition. Only Squish and *.MSG areas
  601.             should be defined in this file.
  602.  
  603.  
  604.            SquishCfg <file name>
  605.  
  606.             Tells SqTool  the name  of a  Squish.Cfg file where to find the
  607.             message areas  definition. See  4.2.1 for  more  details  about
  608.             Squish.Cfg processing.
  609.  
  610.        2.2.3  Manual file areas configuration
  611.  
  612.             Manual file  areas configuration  is done  using  the  FileArea
  613.             keyword.
  614.  
  615.  
  616.                    _________________________________________________
  617.                                         page 10
  618.                    _________________________________________________
  619.  
  620.  
  621.  
  622.  
  623.            FileArea <tag> "<description>" <list name> <files path>
  624.  
  625.             <tag>           short name for the file area ; this is the name
  626.                             you will  use when  referring to  this area  in
  627.                             SqTool configuration.
  628.  
  629.             <description>   an optional description of the file area.
  630.  
  631.             <list name>     the name  of the file that contains the list of
  632.                             the files in the area. This file must comply to
  633.                             the  Files.BBS  format  (see  "Technical,  gory
  634.                             details").
  635.  
  636.             <files path>    the path where the files may be found.
  637.  
  638.             Example :
  639.  
  640.                 FileArea OS2Drv "OS/2 Drivers"
  641.                 e:\Lora\Files\OS2Drv\Files.BBS e:\Lora\Files\OS2Drv
  642.  
  643.             (Note that  the definition  should NOT  be split  over  several
  644.             lines).
  645.  
  646.       2.3   Message filters configuration
  647.        ---------------------------------------------------------------------
  648.  
  649.             The way  SqTool process  filters is, hopefully, apparent in the
  650.             way a filter is defined :
  651.  
  652.             . SqTool scans the specified message base(s) ;
  653.  
  654.             . Each message in the base(s) is compared against the
  655.               "triggering" criteria ;
  656.  
  657.               If the message matches the criteria (triggers the filter),
  658.               the specified action is performed, and/or the specified reply
  659.               is sent.
  660.  
  661.             A filter definition is made up of the following parts :
  662.  
  663.        2.3.1. Filter header
  664.  
  665.  
  666.            BeginFilter ["<description>"]
  667.  
  668.             BeginFilter starts the definition of a new filter.
  669.  
  670.             <description>   is an  optional description of the filter (this
  671.                             will help  you identify  the filter  in the log
  672.                             file).
  673.  
  674.  
  675.  
  676.  
  677.  
  678.                    _________________________________________________
  679.                                         page 11
  680.                    _________________________________________________
  681.  
  682.  
  683.  
  684.  
  685.        2.3.2  Definition of the areas to scan
  686.  
  687.             The following  keywords define  which areas  should be  scanned
  688.             when processing  this filter.  You may  use as  many  Scan  and
  689.             Unscan keywords as necessary.
  690.  
  691.  
  692.            Scan <area_mask>
  693.  
  694.             <area_mask>     is  either  the  name  (tag)  of  a  previously
  695.                             defined message  area  or  a  group  of  areas,
  696.                             specified  using  the  "*"  wildcard.  The  "*"
  697.                             character may  appear before  or after the root
  698.                             name, but not in the middle of it.
  699.  
  700.             Examples :
  701.  
  702.             Valid :
  703.  
  704.                 Scan os.os2.*
  705.  
  706.                 Scan *.fr
  707.  
  708.                 Scan *.os2.*
  709.  
  710.                 Scan os2.fr
  711.  
  712.             Invalid :
  713.  
  714.                 Scan rec.*.fr
  715.  
  716.  
  717.            UnScan <area_mask>
  718.  
  719.             Tells  SqTool   NOT  to   scan  the  specified  area(s),  which
  720.             supposedly have been previously selected by the "Scan" keyword.
  721.  
  722.             <area_mask>     See the "Scan" keyword.
  723.  
  724.             Example :
  725.  
  726.                 Scan comp.os.os2.*
  727.                 UnScan comp.os.os2.misc
  728.  
  729.             will  scan   all  areas   which's  name   (tag)   starts   with
  730.             "comp.os.os2.", except the comp.os.os2.misc area.
  731.  
  732.        2.3.3  Trigger
  733.  
  734.             The following  keywords  define  what  conditions  trigger  the
  735.             filter.
  736.  
  737.  
  738.  
  739.  
  740.                    _________________________________________________
  741.                                         page 12
  742.                    _________________________________________________
  743.  
  744.  
  745.  
  746.  
  747.             A filter  may use  several "Include"  and  "Exclude"  keywords,
  748.             which will  be processed  in the  same order they appear in the
  749.             configuration file.
  750.  
  751.  
  752.            Include|Exclude [<operators>] "<ref_string>"
  753.  
  754.             Include         trigger the  filter if  the message matches the
  755.                             condition that follows.
  756.  
  757.             Exclude         un-trigger the  filter if  the message  matches
  758.                             the condition that follows.
  759.  
  760.             <operators>     are zero, one or several from :
  761.  
  762.             . Not negate the result of the search.
  763.  
  764.             . Exact perform an exact compare, rather than searching the
  765.               reference string within the specified field(s).
  766.  
  767.             . Case          : case-sensitive search.
  768.  
  769.             . From          : search within the From field.
  770.  
  771.             . To            : search within the To field.
  772.  
  773.             . Subject       : search within the Subject field.
  774.  
  775.             . Header        : search within the From, To and Subject
  776.               fields.
  777.  
  778.             . Kludges       : search within the kludge lines.
  779.  
  780.             . Message       : search within the message text.
  781.  
  782.             . All           : search within all the message fields, except
  783.               kludges and addresses (this is the default).
  784.  
  785.             . Origin        : compare to the originating address (Exact
  786.               implicit).
  787.  
  788.             . Dest          : compare to the destination address (Exact
  789.               implicit).
  790.  
  791.             . QuotePct      : check the percentage of quoted lines in the
  792.               message against a specified range. There are three ways of
  793.               specifying the range : ">n" (percentage must be greater than
  794.               n), "<n" or "n-m" (percentage must be comprised between n and
  795.               m). Blank lines, kludge lines, SEEN-BY, PATH, origin and tear
  796.               lines are ignored.
  797.  
  798.             . And           : the result of this search will be and'ed with
  799.               the current trigger status. Not allowed in Exclude lines.
  800.  
  801.  
  802.                    _________________________________________________
  803.                                         page 13
  804.                    _________________________________________________
  805.  
  806.  
  807.  
  808.  
  809.             . XOr           : the result of this search will be xor'ed with
  810.               the current trigger status. Not allowed in Exclude lines.
  811.  
  812.             . Or            : the result of this search will be or'ed with
  813.               the current trigger status (default).
  814.  
  815.             <ref_string>    is the  string that  is to  be searched  in the
  816.                             message, or  the quote percentage range. If the
  817.                             keyword "Origin" or "Dest" is used, this string
  818.                             should represent  a valid FidoNet type address,
  819.                             where one  or several  of  the  fields  may  be
  820.                             replaced with  a "*"  to accept  any value  for
  821.                             this field.
  822.  
  823.             Examples :
  824.  
  825.                 Include To Subject Message "Vanney"
  826.                 Exclude From "Vanney"
  827.  
  828.             The filter  will be  triggered if  either  the  To  field,  the
  829.             Subject field  or the message text contain the string "Vanney",
  830.             case-insensitively, except if the From field also contains this
  831.             string.
  832.  
  833.                 Include To Exact "Log Robot"
  834.                 Exclude Not Subject Exact "mypassword"
  835.  
  836.             The filter  will be  triggered if  the To field is exactly (but
  837.             case-insensitively) "Log Robot", and if the subject is equal to
  838.             "mypassword". The same could be expressed as :
  839.  
  840.                 Include To Exact "Log Robot"
  841.                 Include And Subject Exact "mypassword"
  842.  
  843.  
  844.  
  845.                 Include   Origin "2:320/222.*"
  846.  
  847.             Triggers the  filter for  any message coming from 2:320/222 and
  848.             its points.
  849.  
  850.                 Exclude QuotePct ">80"
  851.  
  852.             Prevents messages  with more  than  80%  of  quoted  text  from
  853.             triggering the filter.
  854.  
  855.        2.3.4  Action
  856.  
  857.             This keyword  defines the  action the filter should take when a
  858.             message that matches the triggering conditions is encountered.
  859.  
  860.  
  861.  
  862.  
  863.  
  864.                    _________________________________________________
  865.                                         page 14
  866.                    _________________________________________________
  867.  
  868.  
  869.  
  870.  
  871.            Action  <action> [params]
  872.  
  873.             <action>        may be one of the following :
  874.  
  875.             Delete          deletes the message.
  876.  
  877.             CopyTo <area_name> [Public]
  878.  
  879.                             copies the  message to  the  specified  message
  880.                             area.  If   "Public"  is   specified,  the  PVT
  881.                             (private) attribute  of the  target message  is
  882.                             cleared.
  883.  
  884.             MoveTo <area_name> [Public]
  885.  
  886.                             moves the  message  to  the  specified  message
  887.                             area.  If   "Public"  is   specified,  the  PVT
  888.                             (private) attribute  of the  target message  is
  889.                             cleared.
  890.  
  891.             ForwardTo <area_name> [From "<author>"]
  892.  
  893.                             forwards the  message to  the specified message
  894.                             area.  You  may  optionally  specify  a  string
  895.                             (<author>) that will be put in the "From" field
  896.                             of the forwarded message.
  897.  
  898.             Ack             (function not implemented yet)
  899.  
  900.             Execute "<command>"   shells   to   OS/2   and   executes   the
  901.                             <command>. See 4.4 for details.
  902.  
  903.  
  904.            AllFix <result_file>
  905.  
  906.             Handles the  message as  a FileFind request, placing the result
  907.             in the  <result_file> file.  See "FileFind  configuration"  for
  908.             more details.
  909.  
  910.  
  911.            AllFixMore <result_file>
  912.  
  913.             Handles the  message as  a FileFind second request, placing the
  914.             result in  the <result_file> file. See "FileFind configuration"
  915.             for more details.
  916.  
  917.        2.3.5. Reply
  918.  
  919.             The following  keywords define  the reply SqTool should make to
  920.             the original  message, after  having performed the action. This
  921.             is optional.
  922.  
  923.  
  924.  
  925.  
  926.                    _________________________________________________
  927.                                         page 15
  928.                    _________________________________________________
  929.  
  930.  
  931.  
  932.  
  933.            ReplyWith <options> "<file_name>"
  934.  
  935.             Send the  content of  <file_name> as a reply to the message. If
  936.             the file does not exist, no reply is sent.
  937.  
  938.             <option>        is zero, one or several from :
  939.  
  940.             . uue           : send the file uuencoded. Use this option to
  941.               send binary files (binary files can't be sent as-is over
  942.               mail ; UUE will convert them to a suitable text format. The
  943.               receiver will need an uu-decoder to decode the file).
  944.  
  945.             . EAs           : this option tells SqTool that the extended
  946.               attributes of the file should be sent as well ; it is only
  947.               meaningful when the "uue" option is used.
  948.  
  949.             . DelPrev       : delete the file (if it exists!) before
  950.               performing the action defined with the "Action" keyword. It
  951.               is important to use the DelPrev option when the action is
  952.               AllFix : if you don't, users that should not get an answer
  953.               (no file found) will receive the answer to the previous
  954.               successful request.
  955.  
  956.             . DelAfter      : delete the file after sending the reply.
  957.  
  958.  
  959.            ReplyArea <area_name>
  960.  
  961.             Send the reply in the specified message area (the default is to
  962.             send the reply in the area where the message came from).
  963.  
  964.  
  965.            ReplyAttr <attributes>
  966.  
  967.             Set the  specified attributes to the reply message (by default,
  968.             only the  LOC attribute  is set).  See the "Area" keyword for a
  969.             list of valid attributes.
  970.  
  971.             RepFooter
  972.  
  973.             Defines a  text that  will be  inserted in  the reply after the
  974.             content of the file specified with ReplyWith. The text must end
  975.             with  a  line  containing  the  string  "EndTxt"  (without  the
  976.             quotes).
  977.  
  978.             When used  in a  filter which's  action is AllFix, these header
  979.             and footer  are additive  to those defined with AfxFoundHdr and
  980.             AfxFoundFtr.
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.  
  988.                    _________________________________________________
  989.                                         page 16
  990.                    _________________________________________________
  991.  
  992.  
  993.  
  994.  
  995.            ReplyFrom "<string>"
  996.  
  997.             SqTool will  use <string>  as the  From field of reply messages
  998.             for this filter.
  999.  
  1000.  
  1001.            RepHeader
  1002.  
  1003.             Defines a  text that  will be  inserted in the reply before the
  1004.             content of the file specified with ReplyWith. The text must end
  1005.             with  a  line  containing  the  string  "EndTxt"  (without  the
  1006.             quotes).
  1007.  
  1008.        2.3.6  EndFilter
  1009.  
  1010.  
  1011.            EndFilter
  1012.  
  1013.             Terminates the definition of a filter.
  1014.  
  1015.        2.3.7  Examples of filters
  1016.  
  1017.                 BeginFilter "Messages about/to me"
  1018.                     Scan comp.os.os2.*
  1019.  
  1020.                     Include   To Subject Message "Vanney"
  1021.                     Exclude   From "Vanney"
  1022.  
  1023.                     Action    CopyTo MsgsToMe
  1024.                 EndFilter
  1025.  
  1026.                 BeginFilter "Messages requesting the log file"
  1027.                     Scan NetMail
  1028.  
  1029.                     Include   To Exact "Log Robot"
  1030.                     Exclude   Not Subject Exact "mypassword"
  1031.  
  1032.                     ReplyWith "e:\Lora\Logs\Lora.Log"
  1033.                 EndFilter
  1034.  
  1035.                 BeginFilter "Offending messages"
  1036.                     Scan comp.os.os2.*
  1037.  
  1038.                     Include   Message "Windows"
  1039.  
  1040.                     Action    Delete
  1041.                 EndFilter
  1042.  
  1043.  
  1044.  
  1045.  
  1046.  
  1047.  
  1048.  
  1049.  
  1050.                    _________________________________________________
  1051.                                         page 17
  1052.                    _________________________________________________
  1053.  
  1054.  
  1055.  
  1056.  
  1057.                 BeginFilter "Externally handled messages"
  1058.                     Scan      robot.requests
  1059.  
  1060.                     Include   To "SqTool robot 2:320/222.7"
  1061.                     Exclude   Subject "help"
  1062.  
  1063.                     Action    Execute "e:\Stuff.Cmd"
  1064.  
  1065.                 ; The reply is not generated if the file
  1066.                 ; e:\Temp\Result.Txt does not exist. It is up to
  1067.                 ; Stuff.Cmd to delete it if no reply should be
  1068.                 ; made.
  1069.  
  1070.                     ReplyWith "e:\Temp\Result.Txt"
  1071.  
  1072.                     ReplyArea NetMail
  1073.                 ; set the Crash and Private attributes to keep
  1074.                 ; the answer confidential
  1075.                     ReplyAttr CRA PRV
  1076.                 EndFilter
  1077.  
  1078.                 BeginFilter "Automatically reply to help requests"
  1079.                     Scan      robot.requests
  1080.  
  1081.                     Include   To Exact "SqTool robot 2:320/222.7"
  1082.                     Include   And Subject "help"
  1083.  
  1084.                     ReplyWith "e:\PreparedMessages\RobotHelp.Txt"
  1085.                 EndFilter
  1086.  
  1087.                 BeginFilter "Let's get funny"
  1088.                     Scan      alt.binaries.pictures.for.teenagers
  1089.  
  1090.                     Include   From "aol.com"
  1091.                     Include   And Message "me too"
  1092.  
  1093.                     ReplyWith e:\PreparedMsgs\StopSendingMeToos.Txt
  1094.                 EndFilter
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.                    _________________________________________________
  1113.                                         page 18
  1114.                    _________________________________________________
  1115.  
  1116.  
  1117.  
  1118.  
  1119.       2.4   File filters configuration
  1120.        ---------------------------------------------------------------------
  1121.  
  1122.             The way  file filters  operate is  somehow different  from  the
  1123.             message filters :
  1124.  
  1125.             - SqTool scans the specified file areas, and build a list of
  1126.               selected files ;
  1127.  
  1128.             - The specified action is then applied to the list of files
  1129.               that was built.
  1130.  
  1131.             A file filter definition is made up of the following parts :
  1132.  
  1133.        2.4.1. Filter header
  1134.  
  1135.  
  1136.            BeginFileFilter ["<description>"]
  1137.  
  1138.             BeginFileFilter starts the definition of a new file filter.
  1139.  
  1140.             <description>   is an  optional description of the filter (this
  1141.                             will help  you identify  the filter  in the log
  1142.                             file).
  1143.  
  1144.        2.4.2  Definition of the areas to scan
  1145.  
  1146.             The following  keywords  define  which  file  areas  should  be
  1147.             scanned when  processing this  filter. You may use as many Scan
  1148.             and Unscan keywords as necessary.
  1149.  
  1150.  
  1151.            Scan <area_mask>
  1152.  
  1153.             <area_mask>     is  either  the  name  (tag)  of  a  previously
  1154.                             defined  file   area  or   a  group  of  areas,
  1155.                             specified using  the  "*"  wildcard.  The  same
  1156.                             rules as  defined when  Scan is used in message
  1157.                             filters apply.
  1158.  
  1159.  
  1160.            UnScan <area_mask>
  1161.  
  1162.             Tells SqTool NOT to scan the specified area(s), which suposedly
  1163.             have been previously selected by the "Scan" keyword.
  1164.  
  1165.             <area_mask>     See the "Scan" keyword.
  1166.  
  1167.             Example :
  1168.  
  1169.                 Scan OS2*
  1170.  
  1171.                 UnScan OS2Tools
  1172.  
  1173.  
  1174.                    _________________________________________________
  1175.                                         page 19
  1176.                    _________________________________________________
  1177.  
  1178.  
  1179.  
  1180.  
  1181.             will scan  all file areas which's name (tag) starts with "OS2",
  1182.             except the OS2Tools file area.
  1183.  
  1184.        2.4.3  Select
  1185.  
  1186.             The following  keyword define  which  files  qualify  for  this
  1187.             filter.
  1188.  
  1189.  
  1190.            Select All|New
  1191.  
  1192.             New             only new files will be processed.
  1193.  
  1194.             All             all the files will be processed.
  1195.  
  1196.             SqTool considers file areas much like message areas. This means
  1197.             that, for  SqTool, a  "new" file  is any file that has not been
  1198.             previously scanned.  Thus, the  first time  you run  SqTool  to
  1199.             process a  file filter,  ALL files  will be considered new, and
  1200.             processed as such.
  1201.  
  1202.             Example :
  1203.  
  1204.                 Select New
  1205.  
  1206.             Will select all the new files for processing by this filter.
  1207.  
  1208.        2.4.4  Action
  1209.  
  1210.             This keyword  defines the  action the  filter should perform on
  1211.             the selected files.
  1212.  
  1213.  
  1214.            Action <action> <params>
  1215.  
  1216.             <action>        may be one of the following :
  1217.  
  1218.             List            will create  a list  of all  the selected files
  1219.                             into a  text file. In this case, <param> is the
  1220.                             name  of  the  file  where  the  list  will  be
  1221.                             written.
  1222.  
  1223.             Announce        will create  a message  set containing the list
  1224.                             of the selected files. <param> is the name of a
  1225.                             message area  where the  message will  be sent.
  1226.                             If no file is selected, the filter does nothing
  1227.                             (ie SqTool  does not  make empty  messages when
  1228.                             there is nothing to announce).
  1229.  
  1230.        2.4.5. Presentation
  1231.  
  1232.             The following  keywords define  the presentation of the message
  1233.             or the file SqTool will generate.
  1234.  
  1235.  
  1236.                    _________________________________________________
  1237.                                         page 20
  1238.                    _________________________________________________
  1239.  
  1240.  
  1241.  
  1242.  
  1243.            Header
  1244.  
  1245.             Following the Header keyword is a text that will be inserted on
  1246.             top of  the file  listing.  The  text  ends  with  the  keyword
  1247.             "EndTxt" alone in a line.
  1248.  
  1249.             Example :
  1250.  
  1251.                 Header
  1252.                 Here is the list of the new files on Zlika :
  1253.  
  1254.                 EndTxt
  1255.  
  1256.             Here is another way to get the same result :
  1257.  
  1258.                 Header
  1259.                     "Here is the list of the new files on Zlika :"
  1260.  
  1261.                 EndTxt
  1262.  
  1263.  
  1264.            Footer
  1265.  
  1266.             Following the Footer keyword is a text that will be inserted at
  1267.             the bottom  of the file listing. The text ends with the keyword
  1268.             "EndTxt" alone in a line.
  1269.  
  1270.             Example :
  1271.  
  1272.                 Footer
  1273.  
  1274.                 These files may be freely downloaded from Zlika.
  1275.  
  1276.                 --- SqTool
  1277.                 EndTxt
  1278.  
  1279.             or
  1280.  
  1281.                 Footer
  1282.  
  1283.                     "These files may be freely downloaded from Zlika."
  1284.  
  1285.                     "--- SqTool"
  1286.                 EndTxt
  1287.  
  1288.  
  1289.            From "<sender>"
  1290.  
  1291.             Defines the  string that  will be  put in  the  From  field  of
  1292.             announcement messages.  This keyword is useless when the Action
  1293.             is not Announce.
  1294.  
  1295.  
  1296.  
  1297.  
  1298.                    _________________________________________________
  1299.                                         page 21
  1300.                    _________________________________________________
  1301.  
  1302.  
  1303.  
  1304.  
  1305.            To "<recipient>"
  1306.  
  1307.             Defines the  string that  will  be  put  in  the  To  field  of
  1308.             announcement messages.  This keyword is useless when the Action
  1309.             is not Announce.
  1310.  
  1311.  
  1312.            Subject "<subject>"
  1313.  
  1314.             Defines the  string that  will be  put in  the Subject field of
  1315.             announcement messages.  This keyword is useless when the Action
  1316.             is not Announce.
  1317.  
  1318.        2.4.6  EndFilter
  1319.  
  1320.  
  1321.            EndFilter
  1322.  
  1323.             Terminates the definition of a filter.
  1324.  
  1325.        2.4.7  Examples of filters
  1326.  
  1327.                 BeginFileFilter "Announce new files"
  1328.                     Scan *
  1329.                     UnScan UserUploads
  1330.  
  1331.                     Select New
  1332.  
  1333.                     Action Announce NewFiles
  1334.  
  1335.                     Header
  1336.                          "Here is a list of new files on the BBS :"
  1337.  
  1338.                     EndTxt
  1339.  
  1340.                     Footer
  1341.  
  1342.                          "All these files are available for download."
  1343.                     EndTxt
  1344.  
  1345.                     Subject "New files on Zlika!"
  1346.                     From "SqTool"
  1347.                     To "All users"
  1348.                 EndFilter
  1349.  
  1350.             This filter  will announce  all new  files in  the defined file
  1351.             areas, except  those in  the file  area "UserUploads",  to  the
  1352.             NewFiles message area.
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.  
  1359.  
  1360.                    _________________________________________________
  1361.                                         page 22
  1362.                    _________________________________________________
  1363.  
  1364.  
  1365.  
  1366.  
  1367.                 BeginFileFilter "Make a listing of all files"
  1368.                     Scan *
  1369.                     UnScan UserUploads
  1370.  
  1371.                     Select All
  1372.  
  1373.                     Action List e:\Lora\Files\AllFiles.Lst
  1374.  
  1375.                     Header
  1376.                          "List of all the files available on Zlika."
  1377.  
  1378.                     EndTxt
  1379.  
  1380.                     Footer
  1381.  
  1382.                          "                             -+-"
  1383.  
  1384.                          "All these files may be freely downloaded."
  1385.  
  1386.                          "Zlika is open from 10am to 6pm, on weekdays."
  1387.                          "Phone number : +33-1-47748723"
  1388.  
  1389.                          "                             -+-"
  1390.  
  1391.                          "This file listing was built by SqTool."
  1392.                     EndTxt
  1393.                 EndFilter
  1394.  
  1395.             This filter will build a listing of all the files on the system
  1396.             in the file "e:\Lora\Files\AllFiles.Lst".
  1397.  
  1398.                 BeginFileFilter "User uploads"
  1399.                     Scan UserUploads
  1400.  
  1401.                     Select New
  1402.  
  1403.                     Action Announce SysAdmin
  1404.  
  1405.                     Subject "Files recently updated by the users"
  1406.                 EndFilter
  1407.  
  1408.             This filter  will announce all the new files in the UserUploads
  1409.             file area with a message in the SysAdmin message area.
  1410.  
  1411.       2.5   FileFind configuration
  1412.        ---------------------------------------------------------------------
  1413.  
  1414.             The following  configuration options  are necessary  when using
  1415.             the "Action  AllFix" and "Action AllFixMore" options in message
  1416.             filters.
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.                    _________________________________________________
  1423.                                         page 23
  1424.                    _________________________________________________
  1425.  
  1426.  
  1427.  
  1428.  
  1429.        2.5.1  File areas to scan
  1430.  
  1431.  
  1432.            AfxScan <area_mask>
  1433.  
  1434.             AfxScan tells  SqTool which  file areas  should be  scanned  in
  1435.             search for files when answering to an AllFix filefind request.
  1436.  
  1437.             <area_mask>     is  either  the  name  (tag)  of  a  previously
  1438.                             defined  file   area  or   a  group  of  areas,
  1439.                             specified  using  the  "*"  wildcard.  The  "*"
  1440.                             character may  appear before  or after the root
  1441.                             name, but not in the middle of it.
  1442.  
  1443.  
  1444.            AfxUnScan <area_mask>
  1445.  
  1446.             Tells  SqTool   which  file  areas  NOT  to  scan  among  those
  1447.             previously selected with AfxScan.
  1448.  
  1449.             You may use as many AfxScan and AfxUnscan keywords as needed.
  1450.  
  1451.        2.5.2  Answer setup
  1452.  
  1453.             The following  keywords configure  the answer message that will
  1454.             be sent  if SqTool  finds  files  in  response  to  a  filefind
  1455.             request.
  1456.  
  1457.  
  1458.            AfxFoundHdr
  1459.  
  1460.             This keyword is followed by a text that will be inserted on top
  1461.             of the  answer message.  The text  is terminated by the keyword
  1462.             "EndTxt".
  1463.  
  1464.             Example :
  1465.  
  1466.                 AfxFoundHdr
  1467.                 The following file(s) were found on Zlika BBS :
  1468.  
  1469.                 EndTxt
  1470.  
  1471.  
  1472.            AfxFoundFtr
  1473.  
  1474.             This keyword is followed by a text that will be inserted at the
  1475.             bottom of  the answer  message. The  text is  terminated by the
  1476.             keyword "EndTxt".
  1477.  
  1478.             Example :
  1479.  
  1480.  
  1481.  
  1482.  
  1483.  
  1484.                    _________________________________________________
  1485.                                         page 24
  1486.                    _________________________________________________
  1487.  
  1488.  
  1489.  
  1490.  
  1491.                 AfxFoundFtr
  1492.  
  1493.                      "> Zlika BBS, an OS/2-oriented BBS"
  1494.  
  1495.                      "SysOp       : Raphaël Vanney"
  1496.                      "Phone       : +33-1-47748723"
  1497.                      "Open hours  : 10h00 - 19h00"
  1498.  
  1499.                 EndTxt
  1500.  
  1501.  
  1502.            AfxMaxAnswers <number>
  1503.  
  1504.             Defines the  maximum number  of files that will be listed in an
  1505.             answer to a filefind request. The default is 20.
  1506.  
  1507.  
  1508.            AfxMaxDescLines <number>
  1509.  
  1510.             Defines the  maximum description lines per file. The default is
  1511.             10.
  1512.  
  1513.        2.5.3  Example of FileFind setup
  1514.  
  1515.                 ; define file areas where to search files
  1516.  
  1517.                 AfxScan OS2*
  1518.                 AfxScan DOS*
  1519.                 AfxScan Divers
  1520.  
  1521.                 ; define answer message header
  1522.  
  1523.                 AfxFoundHdr
  1524.                 The following file(s) were found on Zlika BBS :
  1525.  
  1526.                 EndTxt
  1527.  
  1528.                 ; define answer message footer
  1529.  
  1530.                 AfxFoundFtr
  1531.  
  1532.                 > Zlika BBS, an OS/2-oriented BBS
  1533.  
  1534.                 SysOp           : Raphaël Vanney
  1535.                 Phone           : +33-1-47748723
  1536.                 Open hours      : 10h00 - 19h00
  1537.  
  1538.                 EndTxt
  1539.  
  1540.                 ; define filter for first requests
  1541.  
  1542.  
  1543.  
  1544.  
  1545.  
  1546.                    _________________________________________________
  1547.                                         page 25
  1548.                    _________________________________________________
  1549.  
  1550.  
  1551.  
  1552.  
  1553.                 BeginFilter "Process FileFind requests"
  1554.                     Scan      wanted.fr
  1555.  
  1556.                     Include   To Exact "AllFix"
  1557.                     Include   To Exact "SqTool"
  1558.                     Include   To Exact "SqFltr"
  1559.  
  1560.                     Action    AllFix e:\Temp\AllFix.Res
  1561.  
  1562.                     ReplyWith DelPrev DelAfter e:\Temp\AllFix.Res
  1563.                 EndFilter
  1564.  
  1565.                 ; define filter for requests for more files
  1566.  
  1567.                 BeginFilter "Process FileFind second requests"
  1568.                     Scan      wanted.fr
  1569.  
  1570.                     Include   To Exact "AllFix 2:320/222.7"
  1571.                     Include   To Exact "SqTool 2:320/222.7"
  1572.                     Include   To Exact "SqFltr 2:320/222.7"
  1573.  
  1574.                     Action    AllFixMore e:\Temp\AllFix.Res
  1575.  
  1576.                     ReplyWith DelPrev DelAfter e:\Temp\AllFix.Res
  1577.                 EndFilter
  1578.  
  1579.  
  1580.  
  1581.  
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591.  
  1592.  
  1593.  
  1594.  
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608.                    _________________________________________________
  1609.                                         page 26
  1610.                    _________________________________________________
  1611.  
  1612.  
  1613.  
  1614.  
  1615.       2.6   The SOUP interface
  1616.        ---------------------------------------------------------------------
  1617.  
  1618.             The  SOUP   (Simple  Offling   Usenet  Packet)   format  is  an
  1619.             increasingly popular  format used  for offline  newsgroups  and
  1620.             mail reading.
  1621.  
  1622.             SqTool can  import and  export SOUP  packets to  and from  your
  1623.             Fidonet message bases.
  1624.  
  1625.  
  1626.            SoupEMail <area>
  1627.  
  1628.             Tells SqTool  in which  message area  it should put SOUP e-mail
  1629.             packets.
  1630.  
  1631.  
  1632.            SoupExportPath <path>
  1633.  
  1634.             Tells SqTool  in which  directory it  should  place  the  files
  1635.             exported for SOUP. If this variable is not defined, SqTool does
  1636.             not perform SOUP export.
  1637.  
  1638.                 IMPORTANT : if you are already using a SOUP scanner and
  1639.                 plan to replace it with SqTool, please note that it is not
  1640.                 impossible that your current scanner and SqTool use a
  1641.                 different method for tagging messages that have been
  1642.                 scanned. If this is the case, SqTool will export _all_
  1643.                 messages from you the _first_ time it exports your SOUP
  1644.                 newsgroups. You should then delete the files "Replies",
  1645.                 "SqTNews.Msg" and "SqTMail.Msg" in your SoupExportPath
  1646.                 directory.
  1647.                 Other SOUP scanners also frequently use fake gateway
  1648.                 addresses for importing/exporting SOUP packets. All
  1649.                 references to these fake addresses must be removed or
  1650.                 Squish will continue to export messages for the old gateway
  1651.                 address.
  1652.  
  1653.  
  1654.            SoupImportPath <path>
  1655.  
  1656.             Tells SqTool where to look for a SOUP packet to be imported. If
  1657.             this variable  is not  defined, the  SOUP  import  function  is
  1658.             disabled.
  1659.  
  1660.  
  1661.            SoupNewsrcFile <file_name>
  1662.  
  1663.             Tells SqTool  the name  of your  newsrc file.  This file should
  1664.             contain the  list of  newsgroups you  are connected  to. SqTool
  1665.             uses it  to know  which  message  bases  it  should  scan  when
  1666.             exporting SOUP packets.
  1667.  
  1668.  
  1669.  
  1670.                    _________________________________________________
  1671.                                         page 27
  1672.                    _________________________________________________
  1673.  
  1674.  
  1675.  
  1676.  
  1677.      ----------------------------------------------------------------------
  1678.      3      Running SqTool
  1679.      ----------------------------------------------------------------------
  1680.  
  1681.             Installing SqTool  is pretty  straightforward : just  copy  the
  1682.             files in  the archive  to a  directory. The following files are
  1683.             needed   to   run   SqTool :   SqTool.Exe,   KBDVIO32.DLL   and
  1684.             SqToolFr.Msg  (French   messages)  or   SqToolEn.Msg   (English
  1685.             messages).
  1686.  
  1687.             Before running  SqTool, you  must create  a suitable SqTool.Cfg
  1688.             configuration file.  If you're  not sure what a SqTool.Cfg file
  1689.             should look like, please take a look at the included SqTool.1st
  1690.             file, and  build your  own file after it, with the help of this
  1691.             documentation.
  1692.  
  1693.             The first  time you  run SqTool,  you might  want to use the "-
  1694.             InitPtr" command-line  option. This  will pre-set  pointers  so
  1695.             that SqTool does not scan all your messages and files bases.
  1696.  
  1697.             SqTool should  be run periodically, for instance once a day, or
  1698.             each time  you insert  messages in  your message bases (after a
  1699.             poll to your uplink).
  1700.  
  1701.       3.1   Command-line options
  1702.        ---------------------------------------------------------------------
  1703.  
  1704.             SqTool recognizes the following command line parameters :
  1705.  
  1706.  
  1707.            -Debug
  1708.  
  1709.             Activates the  debug mode.  SqTool will  generate a  much  more
  1710.             verbose log file.
  1711.  
  1712.  
  1713.            -ReScan
  1714.  
  1715.             Tells SqTool  to rescan  all MESSAGE  areas, ignoring  lastread
  1716.             information.
  1717.  
  1718.  
  1719.            -InitPtr
  1720.  
  1721.             Runs SqTool in a special mode, in which it will not proceed the
  1722.             filters but  initialize the lastread information for all areas.
  1723.             This option  should only  be used  once, the first time you run
  1724.             SqTool, so that it does not process all your messages and files
  1725.             (consider them  as "new",  or "unscanned")  the first  time  it
  1726.             processes filters.  It's pretty  much the  opposite of  the  "-
  1727.             ReScan" option.
  1728.  
  1729.  
  1730.  
  1731.  
  1732.                    _________________________________________________
  1733.                                         page 28
  1734.                    _________________________________________________
  1735.  
  1736.  
  1737.  
  1738.  
  1739.            -Idle
  1740.  
  1741.             Runs SqTool at a low priority level.
  1742.  
  1743.  
  1744.            -Log=<log_file_name>
  1745.  
  1746.             Tells SqTool  to use  <log_file_name> as a log file, instead of
  1747.             the default SqTool.Log.
  1748.  
  1749.  
  1750.            -NoFileFlt
  1751.  
  1752.             Tells SqTool  not to  process file  filters.  Ignored  when  "-
  1753.             InitPtr" is used at the same time.
  1754.  
  1755.  
  1756.            -NoMsgFlt
  1757.  
  1758.             Tells SqTool  not to  process message  filters. Ignored when "-
  1759.             InitPtr" is used at the same time.
  1760.  
  1761.       3.2   Troubleshooting
  1762.        ---------------------------------------------------------------------
  1763.  
  1764.        3.2.1  Run-Time Error 216
  1765.  
  1766.             This is  a serious  error, which means SqTool has encountered a
  1767.             situation I had not planned.
  1768.  
  1769.             Though there  are potentially  many reasons  for this  error, I
  1770.             have spotted  one on  my system :  using the  TRIOS2.ADD driver
  1771.             (replacement for  IBM1S506.ADD for TRITON-chipset motherboards)
  1772.             causes seemingly random Run-Time Error 216, which do not appear
  1773.             when using  the stock  IBM1S506.ADD. If  you encounter  such an
  1774.             error and  are using  a replacement IDE disk driver, please try
  1775.             replacing it  with IBM1S506.ADD  before reporting  the error to
  1776.             me.
  1777.  
  1778.        3.2.2  Error codes
  1779.  
  1780.             Under certain  circumstances,  most  often  due  to  a  problem
  1781.             accessing a  file, SqTool may stop with a message indicating an
  1782.             error  number.  Here's  a  list  of  error  numbers  and  their
  1783.             meaning :
  1784.  
  1785.               OS/2 error codes
  1786.  
  1787.             15              An invalid  drive was specified. Check the path
  1788.                             of the file you try to use.
  1789.  
  1790.             32              Sharing violation.  The file  SqTool  tried  to
  1791.                             gain exclusive  access to  is already locked by
  1792.  
  1793.  
  1794.                    _________________________________________________
  1795.                                         page 29
  1796.                    _________________________________________________
  1797.  
  1798.  
  1799.  
  1800.  
  1801.                             another process.  Stop that  process, or  retry
  1802.                             later.
  1803.  
  1804.             110             A file  was not found. This error may happen if
  1805.                             the files  needed by  SqTool (*.Msg, *.Cfg) are
  1806.                             not in the current directory.
  1807.  
  1808.               SqTool error codes
  1809.  
  1810.             1000            You should  never  encounter  this  error ;  it
  1811.                             means SqTool has attempted writing to a message
  1812.                             base without locking it first. Please report if
  1813.                             you see it happen.
  1814.  
  1815.             2000            (Squish) The  index  file  is  too  small  when
  1816.                             compared to the number of messages indicated in
  1817.                             the base header. The base needs be fixed.
  1818.  
  1819.             2001            (Squish) The  end_frame field  of the header is
  1820.                             incorrect. The base needs be fixed.
  1821.  
  1822.             2002            (Squish) The  num_msg and  high_msg fields  are
  1823.                             different, while  they should  always be equal.
  1824.                             The base needs be fixed.
  1825.  
  1826.             2003            (Squish) The value of the sz_sqhdr field is not
  1827.                             what  was   expected.  If   you  systematically
  1828.                             encounter this error, it means that the version
  1829.                             of Squish  that was  used to create the message
  1830.                             base is  different of  the one  I know  of, and
  1831.                             incompatible with  it. This  should not  happen
  1832.                             until the Squish format is seriously changed by
  1833.                             its author.
  1834.  
  1835.             2004            (Squish) A  frame was  not identified  as such,
  1836.                             due to an invalid Id. The base needs be fixed.
  1837.  
  1838.             2005            (Squish) An unknown frame_type was encountered.
  1839.                             Either the  base is  damaged, or  the format is
  1840.                             incompatible with the Squish 2.00 API.
  1841.  
  1842.             2006            (Squish) This error should not happen. It means
  1843.                             that SqTool  has tried  to read  a message that
  1844.                             does not exist.
  1845.  
  1846.             3001            (*.MSG) This is the same as 2006, but for *.MSG
  1847.                             bases.
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.                    _________________________________________________
  1857.                                         page 30
  1858.                    _________________________________________________
  1859.  
  1860.  
  1861.  
  1862.  
  1863.      ----------------------------------------------------------------------
  1864.      4      Technical, gory details
  1865.      ----------------------------------------------------------------------
  1866.  
  1867.       4.1   UUEncode and extended attributes
  1868.        ---------------------------------------------------------------------
  1869.  
  1870.             As far  as I  know, the  UUEncode "standard"  does not make any
  1871.             provision to uuencode extended attributes, so I decided to make
  1872.             my own.
  1873.  
  1874.             When using  the "uue  EAs" options  of the  ReplyWith  keyword,
  1875.             SqTool builds and uuencoded file which contains two files, each
  1876.             enclosed in its own pair of "begin"/"end" statements. The first
  1877.             file contains  the actual  source file,  the  second  file  its
  1878.             extended    attributes.    The    second    file    is    named
  1879.             "EAs.for.<filename>", where  <filename> is the name of the main
  1880.             file.
  1881.  
  1882.             Depending on  the decoder used to retrieve the file, the result
  1883.             is as follows :
  1884.  
  1885.             . If the decoder does not handle several files in one archive,
  1886.               it will create the original file without the extended
  1887.               attributes.
  1888.  
  1889.             . If the decoder does handle multiple files in one archive, but
  1890.               does not handle HPFS file names, the result is unknown to
  1891.               me ; the main file will be decoded, but there will be a
  1892.               problem with the EA's file.
  1893.  
  1894.             . If the decoder handles multiple files in one archive and
  1895.               knows about HPFS, it will create two files, the main file and
  1896.               the EAs file. If the target file system is HPFS, the EA's
  1897.               file name will be as indicated earlier, otherwise unknown to
  1898.               me. Anyways, the user will then be able to reinstate the
  1899.               extended attributes with the EAUtil.Exe command (comes with
  1900.               OS/2).
  1901.  
  1902.             . If you use my own uu-decoder, the file will be automatically
  1903.               decoded with its extended attributes. My decoder is freeware
  1904.               and should be available from hobbes.nmsu.edu as UUCode??.Zip
  1905.               (current version is UUCode13.Zip).
  1906.  
  1907.       4.2   Foreign configuration files
  1908.        ---------------------------------------------------------------------
  1909.  
  1910.             SqTool supports some of the popular BBS configuration files. If
  1911.             you would  like SqTool  to support  another configuration  file
  1912.             format, please get in touch with me (see "Support").
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.                    _________________________________________________
  1919.                                         page 31
  1920.                    _________________________________________________
  1921.  
  1922.  
  1923.  
  1924.  
  1925.        4.2.1  Squish.Cfg
  1926.  
  1927.             The  following   keywords  are   recognized  in   a  Squish.Cfg
  1928.             configuration file :
  1929.  
  1930.             Address         Your main Fidonet address.
  1931.  
  1932.             AreasBBS        The name of an Area.BBS file.
  1933.  
  1934.             NetArea         Definition of a Netmail area.
  1935.  
  1936.             EchoArea        Definition of an Echomail area.
  1937.  
  1938.             LocalArea       Definition of a local area.
  1939.  
  1940.             Only the "-f", "-p" and "-$" flags of area definitions are used
  1941.             by SqTool.
  1942.  
  1943.        4.2.2  Areas.BBS
  1944.  
  1945.             The  following  information  is  retrieved  from  an  Areas.BBS
  1946.             configuration file :
  1947.  
  1948.             . All Squish and *.MSG message areas configuration. Areas are
  1949.               assumed to be of Echomail type. The alias (aka) is not used,
  1950.               since it does not appear to be accurate for point systems.
  1951.  
  1952.        4.2.3  LoraBBS
  1953.  
  1954.             The   following   information   is   retrieved   from   LoraBBS
  1955.             configuration files :
  1956.  
  1957.             . All Squish and Fido (*.MSG) message areas configuration,
  1958.               including Aka, description and origin line ;
  1959.  
  1960.             . All file areas, except those that don't have a short name
  1961.               defined : YOU MUST DEFINE A SHORT NAME with Lora's
  1962.               configuration program if you want SqTool to use the file
  1963.               areas. The short name of file areas is the equivalent of the
  1964.               "Echo-tag" for message areas.
  1965.  
  1966.        4.2.4  Files.BBS
  1967.  
  1968.             Files.BBS files  are text  files containing a list of files and
  1969.             their descriptions.  They are  used by  many BBS  softwares  to
  1970.             store a list of files in a file area.
  1971.  
  1972.             However, there  does not  appear to be any real standard format
  1973.             for this file.
  1974.  
  1975.             SqTool will understand any file that follow these rules :
  1976.  
  1977.  
  1978.  
  1979.  
  1980.                    _________________________________________________
  1981.                                         page 32
  1982.                    _________________________________________________
  1983.  
  1984.  
  1985.  
  1986.  
  1987.             . a line that begins with one or several characters " "
  1988.               (space), ">", "<" or "+" will be considered as an extended
  1989.               description line. Any line that does not begin with one of
  1990.               these characters will be considered as a "normal" line.
  1991.  
  1992.             . a normal line contains a file name, a space, then a
  1993.               description for the file. This means that no file name should
  1994.               contain a space.
  1995.  
  1996.             . empty lines are ignored.
  1997.  
  1998.             Example of a valid Files.BBS file :
  1999.  
  2000.                 Dial153.zip Dialer v1.53, beta
  2001.                 FWADP28.ZIP This is the patched FAX.ADP file for
  2002.                  >Faxworks Lite and the USR Sportster
  2003.                  >28800 FAX Modems.
  2004.                 ic10390.zip Correctif pour OS/2 Warp Connect/MPTN
  2005.                  >\mptn\protocol\afinet.sys
  2006.                  >\mptn\bin\inetcfg.exe
  2007.                 web103.zip WebExplorer V1.03
  2008.                 WKICKR.ZIP   Corrective Service Facility disks for
  2009.                  >installing OS/2 FixPaks.
  2010.  
  2011.       4.3   FileFind requests processing
  2012.        ---------------------------------------------------------------------
  2013.  
  2014.             SqTool accepts  the same  request syntax  as defined by Allfix,
  2015.             including handling  of boolean  operations defined  with "And",
  2016.             "Or" and "XOr".
  2017.  
  2018.             SqTool being HPFS-aware, a request such as :
  2019.  
  2020.                 "*abc*def*"
  2021.  
  2022.             is valid  and would  return any  file which's name contains the
  2023.             strings "abc" and "def", in this order.
  2024.  
  2025.  
  2026.  
  2027.  
  2028.  
  2029.  
  2030.  
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.                    _________________________________________________
  2043.                                         page 33
  2044.                    _________________________________________________
  2045.  
  2046.  
  2047.  
  2048.  
  2049.       4.4   External execute
  2050.        ---------------------------------------------------------------------
  2051.  
  2052.             This section  relates to  the "Execute"  option of the "Action"
  2053.             keyword of message filters.
  2054.  
  2055.             The  process  may  use  (retrieve)  the  following  environment
  2056.             variables :
  2057.  
  2058.             . MsgFrom       "from" field of the message
  2059.  
  2060.             . MsgTo         "to" field of the message
  2061.  
  2062.             . MsgSubject    "subject" field of the message
  2063.  
  2064.             . MsgOrigin     origin address of the message
  2065.  
  2066.             . MsgDest       destination address of the message
  2067.  
  2068.             . MsgWritten    date at which the message was written
  2069.  
  2070.             . MsgBody       The name of a temporary file where SqTool has
  2071.               stored the message content (without header information).
  2072.  
  2073.             Note that  invalid characters  ("@", "=",  control  characters)
  2074.             will be  replaced with  a  "*"  when  setting  the  environment
  2075.             variables. This  is important  to keep  in mind  if your filter
  2076.             processes messages  with Internet  addresses in the header (the
  2077.             "@" of the Internet address will be replaced with a "*").
  2078.  
  2079.             The  process  will  always  be  executed  through  the  command
  2080.             processor (as defined by the COMSPEC environment variable).
  2081.  
  2082.             The "Execute"  option is a very powerful one, which enables you
  2083.             to do  virtually anything  through mail,  specially  when  used
  2084.             together with REXX scripts. Beware, however, that this might be
  2085.             a widely  open security hole. Imagine what could be done with a
  2086.             filter such as :
  2087.  
  2088.                 BeginFilter
  2089.                     Scan NetMail
  2090.                     Include To "Executor"
  2091.                     Action Execute "%MsgSubject% >c:\Execute.Res"
  2092.                     ReplyWith DelPrev DelAfter "c:\Execute.Res"
  2093.                     ReplyAttr Cra
  2094.                 EndFilter
  2095.  
  2096.             This filter,  when it encounters a message to "Executor" in the
  2097.             NetMail area,  executes the  command specified  in the  Subject
  2098.             field of  the message  and crash-replies with the output of the
  2099.             command.
  2100.  
  2101.  
  2102.  
  2103.  
  2104.                    _________________________________________________
  2105.                                         page 34
  2106.                    _________________________________________________
  2107.  
  2108.  
  2109.  
  2110.  
  2111.       4.5   The SOUP format
  2112.        ---------------------------------------------------------------------
  2113.  
  2114.             The soup format documentation is available from Rhys Weatherley
  2115.             at "rhys@cs.uq.oz.au" (well, so says the doc).
  2116.  
  2117.             SqTool (partly) supports version 1.2 of the SOUP format. Within
  2118.             this specification,  the following  message  file  formats  are
  2119.             handled :
  2120.  
  2121.             . u             (import) USENET news articles
  2122.  
  2123.             . m             (import) Unix mail
  2124.  
  2125.             . b             (export) Binary mail
  2126.  
  2127.             . B             (export) Binary news
  2128.  
  2129.             Please drop  me a  note if you think others should be supported
  2130.             as well.
  2131.  
  2132.             SqTool only  uses the files AREAS and *.MSG when tossing a SOUP
  2133.             packet.
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164.  
  2165.  
  2166.                    _________________________________________________
  2167.                                         page 35
  2168.                    _________________________________________________
  2169.  
  2170.  
  2171.  
  2172.  
  2173.      ----------------------------------------------------------------------
  2174.             History
  2175.      ----------------------------------------------------------------------
  2176.  
  2177.             0.2             first public beta.
  2178.  
  2179.             0.3             Added  support   for  the   FileFind   requests
  2180.                             processor. The "LoraBBS" keyword now reads file
  2181.                             areas configuration.  Added keywords "AfxScan",
  2182.                             "AfxUnscan",   "AfxFoundHdr",    "AfxFoundFtr",
  2183.                             "AfxMaxDescLines", "AfxMaxAnswers", "FileArea".
  2184.                             Implemented  "Action   AllFix",  added  "Action
  2185.                             AllFixMore".
  2186.  
  2187.                             Fixed a  bug  with  Scan  and  Unscan  wildcard
  2188.                             handling.
  2189.  
  2190.                             Implemented the  "Include" keyword  (when  used
  2191.                             outside a filter).
  2192.  
  2193.                             Fixed a number of various bugs.
  2194.  
  2195.                             Added the  file filters features (which replace
  2196.                             SqFilter's new  file  announce  and  all  files
  2197.                             lister features).
  2198.  
  2199.             0.4             Fixed a  bug  when  an  empty  line  follows  a
  2200.                             "BeginFilter" keyword.
  2201.  
  2202.                             Added the  "From", "To"  and "Subject" keywords
  2203.                             to file filters definitions.
  2204.  
  2205.                             Added the "AreasWrittenTo" keyword.
  2206.  
  2207.                             Added the  command-line  options  "-Debug",  "-
  2208.                             InitPtr" and "-ReScan".
  2209.  
  2210.                             The documentation  (SqTool.Prn) should now have
  2211.                             form-feed characters where appropriate (if not,
  2212.                             replace   all   occurrences   of   the   string
  2213.                             "< TOPOFPAGE >" with a form-feed :-)).
  2214.  
  2215.             0.5 (Feb 96)    Added the "-Idle", "-NoFileFlt" and "-NoMsgFlt"
  2216.                             command-line options.
  2217.  
  2218.                             "LocalArea"   keyword    now   recognized    in
  2219.                             Squish.Cfg.
  2220.  
  2221.                             Added  the   "ForwardTo"  action   to   message
  2222.                             filters.
  2223.  
  2224.                             Changed the  behavior when  "Area" or "AreaDef"
  2225.                             define an  already defined  message base :  the
  2226.  
  2227.  
  2228.                    _________________________________________________
  2229.                                         page 36
  2230.                    _________________________________________________
  2231.  
  2232.  
  2233.  
  2234.  
  2235.                             old definition  is now  replaced with  the  new
  2236.                             one. A warning message is still issued.
  2237.  
  2238.                             Added the "LockTimeOut" keyword.
  2239.  
  2240.                             Added "RepHeader"  and "RepFooter"  keywords to
  2241.                             message filters.
  2242.  
  2243.                             SqTool now  always sets  the MSGID  kludge line
  2244.                             when the origin of the message is known.
  2245.  
  2246.                             Added the  "From"  option  to  the  "ForwardTo"
  2247.                             action.
  2248.  
  2249.                             Added the "MaxAnnPerMsg" keyword.
  2250.  
  2251.                             Sped-up the file-areas related code.
  2252.  
  2253.                             Added the "UpperCaseFNames" keyword.
  2254.  
  2255.                             Now retrieves origin lines from .SQO files.
  2256.  
  2257.             0.6             Fixed a  problem with  external execute  when a
  2258.                             field   of   the   message   contains   invalid
  2259.                             characters ("@", "="...).
  2260.  
  2261.                             Added the "QuotePct" keyword.
  2262.  
  2263.                             Added the "/LOG=" command-line parameter.
  2264.  
  2265.                             Added support  for SOUP  packets.  "SoupEMail",
  2266.                             "SoupImportPath",             "SoupExportPath",
  2267.                             "SoupNewsrcFile"  keywords.
  2268.  
  2269.                             Fixed a  bug handling  Squish messages  with an
  2270.                             empty control area.
  2271.  
  2272.                             Now correctly  sets the  DateWritten field to 0
  2273.                             for Squish locally entered messages.
  2274.  
  2275.                             Added the  ability to  enclose texts  in quotes
  2276.                             (") within  configuration files,  which  should
  2277.                             help  keep   them   readable   (see   the   new
  2278.                             headers/footers definitions in SqTool.1st).
  2279.  
  2280.                             SqTool.Exe and  KbdVio32.DLL are now compressed
  2281.                             using LxLite by Andrew Zabolotny.
  2282.  
  2283.  
  2284.  
  2285.  
  2286.  
  2287.  
  2288.  
  2289.  
  2290.                    _________________________________________________
  2291.                                         page 37
  2292.                    _________________________________________________
  2293.  
  2294.  
  2295.  
  2296.  
  2297.      ----------------------------------------------------------------------
  2298.             Index
  2299.      ----------------------------------------------------------------------
  2300.  
  2301.             *.MSG                                         6, 8, 9
  2302.             .SQO                                               37
  2303.             Ack                                                15
  2304.             Action                                     15, 20, 34
  2305.             Address                                  7, 9, 14, 32
  2306.             AfxFoundFtr                                    16, 24
  2307.             AfxFoundHdr                                    16, 24
  2308.             AfxScan                                            24
  2309.             AfxUnScan                                          24
  2310.             Aka                                              7, 9
  2311.             All                                            13, 20
  2312.             AllFix                                 15, 16, 23, 24
  2313.             AllFixMore                                     15, 23
  2314.             And                                                13
  2315.             Announce                                        7, 20
  2316.             Area                                                8
  2317.             AreaDef                                             9
  2318.             Areas                                               8
  2319.             Areas definition                                    6
  2320.             AREAS.BBS                                      10, 32
  2321.             AreasBBS                                       10, 32
  2322.             AreasWrittenTo                                      5
  2323.             ARQ                                                 8
  2324.             ATT                                                 9
  2325.             Attr                                            8, 10
  2326.             Attribute                                      10, 16
  2327.             Base type                                        8, 9
  2328.             BeginFileFilter                                    19
  2329.             BeginFilter                                        11
  2330.             Binary                                             16
  2331.             Case                                               13
  2332.             CFM                                                 9
  2333.             Command line                                       28
  2334.             COMSPEC                                            34
  2335.             CONFIG.SYS                                          6
  2336.             Configuration file                            5, 6, 8
  2337.             CopyTo                                             15
  2338.             Country                                             6
  2339.             CRA                                                 9
  2340.             Debug                                           6, 28
  2341.             DelAfter                                           16
  2342.             Delete                                             15
  2343.             DelPrev                                            16
  2344.             Dest                                               13
  2345.             EAs                                            16, 31
  2346.             EchoArea                                           32
  2347.             Echomail                                         8, 9
  2348.             EndFilter                                      17, 22
  2349.             EndTxt                                         17, 21
  2350.  
  2351.  
  2352.                    _________________________________________________
  2353.                                         page 38
  2354.                    _________________________________________________
  2355.  
  2356.  
  2357.  
  2358.  
  2359.             English                                             6
  2360.             Environment variable                               34
  2361.             Exact                                              13
  2362.             Exclude                                            13
  2363.             Execute                                        15, 34
  2364.             Extended attribute                             16, 31
  2365.             FidoUserNo                                          6
  2366.             File area                                      10, 32
  2367.             File filters                                       19
  2368.             FileArea                                           11
  2369.             FileFind                                       15, 24
  2370.             Files.BBS                                          32
  2371.             Filters                                            11
  2372.             Footer                                             21
  2373.             ForwardTo                                          15
  2374.             French                                              6
  2375.             From                                           13, 15
  2376.             FRQ                                                 9
  2377.             FTS1                                                9
  2378.             GoldEd                                              8
  2379.             Header                                         13, 21
  2380.             HLD                                                 9
  2381.             Idle                                               29
  2382.             Include                                         6, 13
  2383.             InitPtr                                            28
  2384.             Installing                                         28
  2385.             Kludges                                            13
  2386.             Language                                            3
  2387.             Lastread                                         6, 7
  2388.             List                                               20
  2389.             LOC                                                 9
  2390.             Local                                            8, 9
  2391.             LocalArea                                          32
  2392.             LockTimeOut                                         6
  2393.             Log                                             7, 29
  2394.             LogSizeLimit                                        7
  2395.             LoraBBS                                        10, 32
  2396.             LoraPath                                           10
  2397.             MainAddress                                         7
  2398.             MaxAnnPerMsg                                        7
  2399.             Message                                            13
  2400.             MoveTo                                             15
  2401.             Msg type                                         8, 9
  2402.             MsgBody                                            34
  2403.             MsgDest                                            34
  2404.             MsgFrom                                            34
  2405.             MsgOrigin                                          34
  2406.             MsgSubject                                         34
  2407.             MsgTo                                              34
  2408.             MsgWritten                                         34
  2409.             NetArea                                            32
  2410.             NetMail                                          8, 9
  2411.             New                                                20
  2412.  
  2413.  
  2414.                    _________________________________________________
  2415.                                         page 39
  2416.                    _________________________________________________
  2417.  
  2418.  
  2419.  
  2420.  
  2421.             Newsgroups                                          9
  2422.             NoFileFlt                                          29
  2423.             NoMsgFlt                                           29
  2424.             Not                                                13
  2425.             Operators                                          13
  2426.             Or                                                 14
  2427.             Origin                                         10, 13
  2428.             Origin-line                                        10
  2429.             Percentage                                         13
  2430.             Public                                             15
  2431.             PVT                                             9, 15
  2432.             Quoted lines                                       13
  2433.             QuotePct                                           13
  2434.             Range                                              13
  2435.             RepFooter                                          16
  2436.             Reply                                              15
  2437.             ReplyArea                                          16
  2438.             ReplyAttr                                          16
  2439.             ReplyFrom                                          17
  2440.             ReplyWith                                      16, 31
  2441.             ReScan                                          7, 28
  2442.             Scan                                           12, 19
  2443.             Select                                             20
  2444.             Short name                                         32
  2445.             Shrink                                              7
  2446.             SNT                                                 9
  2447.             SoupEMail                                          27
  2448.             SoupExportPath                                     27
  2449.             SoupImportPath                                     27
  2450.             SoupNewsrcFile                                     27
  2451.             SqFilter                                            3
  2452.             SqTool.1st                                         28
  2453.             SqTool.Cfg                                      5, 28
  2454.             Squish                                           8, 9
  2455.             Squish.Cfg                                     10, 32
  2456.             SquishCfg                                          10
  2457.             SquishUserNo                                        7
  2458.             Subject                                            13
  2459.             Support                                             3
  2460.             Tag                          8, 9, 11, 12, 19, 20, 24
  2461.             To                                                 13
  2462.             Trigger                                        12, 14
  2463.             TRIOS2.ADD                                         29
  2464.             UnScan                                         12, 19
  2465.             UpperCaseFNames                                     8
  2466.             URQ                                                 9
  2467.             Uue                                            16, 31
  2468.             Uuencode                                       16, 31
  2469.             Wildcard                                   12, 19, 24
  2470.             XOr                                                14
  2471.  
  2472.  
  2473.  
  2474.  
  2475.  
  2476.                    _________________________________________________
  2477.                                         page 40
  2478.                    _________________________________________________
  2479.  
  2480.  
  2481.  
  2482.  
  2483.      ----------------------------------------------------------------------
  2484.             Table of contents
  2485.      ----------------------------------------------------------------------
  2486.  
  2487.  
  2488.      1          Preliminary stuff...............................2
  2489.  
  2490.       1.1       The disclaimer                                  2
  2491.       1.2       What's SqTool ?                                 2
  2492.       1.3       SqTool & SqFilter                               3
  2493.       1.4       Support                                         3
  2494.       1.5       Credits                                         4
  2495.  
  2496.      2          Configuring SqTool..............................5
  2497.  
  2498.       2.1       Miscellaneous                                   5
  2499.       2.2       Areas configuration                             8
  2500.        2.2.1    Manual message areas configuration              8
  2501.        2.2.2    Automatic areas configuration                  10
  2502.        2.2.3    Manual file areas configuration                10
  2503.       2.3       Message filters configuration                  11
  2504.        2.3.1.   Filter header                                  11
  2505.        2.3.2    Definition of the areas to scan                12
  2506.        2.3.3    Trigger                                        12
  2507.        2.3.4    Action                                         14
  2508.        2.3.5.   Reply                                          15
  2509.        2.3.6    EndFilter                                      17
  2510.        2.3.7    Examples of filters                            17
  2511.       2.4       File filters configuration                     19
  2512.        2.4.1.   Filter header                                  19
  2513.        2.4.2    Definition of the areas to scan                19
  2514.        2.4.3    Select                                         20
  2515.        2.4.4    Action                                         20
  2516.        2.4.5.   Presentation                                   20
  2517.        2.4.6    EndFilter                                      22
  2518.        2.4.7    Examples of filters                            22
  2519.       2.5       FileFind configuration                         23
  2520.        2.5.1    File areas to scan                             24
  2521.        2.5.2    Answer setup                                   24
  2522.        2.5.3    Example of FileFind setup                      25
  2523.       2.6       The SOUP interface                             27
  2524.  
  2525.      3          Running SqTool.................................28
  2526.  
  2527.       3.1       Command-line options                           28
  2528.       3.2       Troubleshooting                                29
  2529.        3.2.1    Run-Time Error 216                             29
  2530.        3.2.2    Error codes                                    29
  2531.  
  2532.      4          Technical, gory details........................31
  2533.  
  2534.       4.1       UUEncode and extended attributes               31
  2535.       4.2       Foreign configuration files                    31
  2536.  
  2537.  
  2538.                    _________________________________________________
  2539.                                         page 41
  2540.                    _________________________________________________
  2541.  
  2542.  
  2543.  
  2544.  
  2545.        4.2.1    Squish.Cfg                                     32
  2546.        4.2.2    Areas.BBS                                      32
  2547.        4.2.3    LoraBBS                                        32
  2548.        4.2.4    Files.BBS                                      32
  2549.       4.3       FileFind requests processing                   33
  2550.       4.4       External execute                               34
  2551.       4.5       The SOUP format                                35
  2552.  
  2553.                 History........................................36
  2554.  
  2555.  
  2556.                 Index..........................................38
  2557.  
  2558.  
  2559.                 Table of contents..............................41
  2560.  
  2561.  
  2562.  
  2563.  
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.  
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.  
  2578.  
  2579.  
  2580.  
  2581.  
  2582.  
  2583.  
  2584.  
  2585.  
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.  
  2592.  
  2593.  
  2594.  
  2595.  
  2596.  
  2597.  
  2598.  
  2599.  
  2600.                    _________________________________________________
  2601.                                         page 42
  2602.                    _________________________________________________
  2603.  
  2604.  
  2605.